﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;


namespace KpBusiness.Model
{
   public class Position
    {
       [Key]
        public virtual int PositionId { get; set; }

        [DisplayName("Position")]
        [Required(ErrorMessage = "Please Provide Position")]
        public virtual string PositionName { get; set; }


        [DisplayName("Position Category")]
        [Required(ErrorMessage = "Please Provide Position Category")]
        public virtual PositionCategory PositionCategory { get; set; }

        [DisplayName("Skills")]
        [Required(ErrorMessage = "Please Provide Skills")]
        public virtual string Skills { get; set; }

        [DisplayName("Years of Experience Required")]
        [Required(ErrorMessage = "Please Provide Years of Experience From Date")]
        public virtual int YearExpFrom { get; set; }

        [DisplayName("Years of Experience To Date")]
        [Required(ErrorMessage = "Please Provide Years of Experience To Date")]
        public virtual int YearExpTo { get; set; }

        [Required(ErrorMessage = "Please Provide Salary in Lacs")]
        public virtual float Salary { get; set; }

        [Required(ErrorMessage = "Please Provide expected Salary in Lacs")]
        public virtual float SalaryTo { get; set; }

        [DisplayName("Number of Positions")]
        [Required(ErrorMessage = "Please Provide Number of Positions")]
        [Range(1, 5000, ErrorMessage = "Please provide Number of Positions from 1 to 5000")]
        public virtual int NumberOfPositions { get; set; }

        [DisplayName("Is Position Closed")]
        public virtual bool IsClosed { get; set; }

        [DisplayName("Requirement Starts from Date")]
        [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
        [Required(ErrorMessage = "Please Provide Requirement Start Date")]
        public virtual DateTime FromDate { get; set; }

        [DisplayName("Requirement Ends on Date")]
        [DisplayFormat(DataFormatString = "{0:dd MMM yyyy}")]
        [Required(ErrorMessage = "Please Provide Requirement End Date")]
        public virtual DateTime ToDate { get; set; }


        public virtual bool IsResumeUploaded { get; set; }
        public virtual string FileMetaData { get; set; }
        public virtual Guid Guid { get; set; }

       public virtual Company Company { get; set; }

        public virtual DateTime LastUpdatedDate { get; set; }

        public virtual string LastUpdatedUser { get; set; }



    }
}
